From 8b930bdb9c950e118a2c53f1b576f73ac579cadd Mon Sep 17 00:00:00 2001 From: Bilal Elmoussaoui Date: Tue, 14 Apr 2026 21:31:26 +0200 Subject: [PATCH] Install all properties at once As we already use a static array of GParamSpecs, so continue using that. Part-of: --- src/shell-tray-icon.c | 34 ++++++++++++++++++---------------- src/st/st-theme.c | 30 +++++++++++++++--------------- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/shell-tray-icon.c b/src/shell-tray-icon.c index c9be146ed..7a0da3137 100644 --- a/src/shell-tray-icon.c +++ b/src/shell-tray-icon.c @@ -15,9 +15,13 @@ enum { PROP_PID, PROP_TITLE, - PROP_WM_CLASS + PROP_WM_CLASS, + + N_PROPS }; +static GParamSpec *props[N_PROPS] = { NULL, }; + typedef struct _ShellTrayIconPrivate ShellTrayIconPrivate; struct _ShellTrayIcon @@ -210,21 +214,19 @@ shell_tray_icon_class_init (ShellTrayIconClass *klass) actor_class->get_preferred_height = shell_tray_icon_get_preferred_height; actor_class->allocate = shell_tray_icon_allocate; - g_object_class_install_property (object_class, - PROP_PID, - g_param_spec_uint ("pid", NULL, NULL, - 0, G_MAXUINT, 0, - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property (object_class, - PROP_TITLE, - g_param_spec_string ("title", NULL, NULL, - NULL, - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property (object_class, - PROP_WM_CLASS, - g_param_spec_string ("wm-class", NULL, NULL, - NULL, - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + props[PROP_PID] = g_param_spec_uint ("pid", NULL, NULL, + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + props[PROP_TITLE] = g_param_spec_string ("title", NULL, NULL, + NULL, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + props[PROP_WM_CLASS] = g_param_spec_string ("wm-class", NULL, NULL, + NULL, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, N_PROPS, props); } static void diff --git a/src/st/st-theme.c b/src/st/st-theme.c index 1b55015cd..7f3300e46 100644 --- a/src/st/st-theme.c +++ b/src/st/st-theme.c @@ -77,9 +77,13 @@ enum PROP_0, PROP_APPLICATION_STYLESHEET, PROP_THEME_STYLESHEET, - PROP_DEFAULT_STYLESHEET + PROP_DEFAULT_STYLESHEET, + + N_PROPS }; +static GParamSpec *props[N_PROPS] = { NULL, }; + enum { STYLESHEETS_CHANGED, @@ -131,11 +135,9 @@ st_theme_class_init (StThemeClass *klass) * The highest priority stylesheet, representing application-specific * styling; this is associated with the CSS "author" stylesheet. */ - g_object_class_install_property (object_class, - PROP_APPLICATION_STYLESHEET, - g_param_spec_object ("application-stylesheet", NULL, NULL, - G_TYPE_FILE, - ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + props[PROP_APPLICATION_STYLESHEET] = g_param_spec_object ("application-stylesheet", NULL, NULL, + G_TYPE_FILE, + ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); /** * StTheme:theme-stylesheet: @@ -143,11 +145,9 @@ st_theme_class_init (StThemeClass *klass) * The second priority stylesheet, representing theme-specific styling; * this is associated with the CSS "user" stylesheet. */ - g_object_class_install_property (object_class, - PROP_THEME_STYLESHEET, - g_param_spec_object ("theme-stylesheet", NULL, NULL, - G_TYPE_FILE, - ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + props[PROP_THEME_STYLESHEET] = g_param_spec_object ("theme-stylesheet", NULL, NULL, + G_TYPE_FILE, + ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); /** * StTheme:default-stylesheet: @@ -155,11 +155,11 @@ st_theme_class_init (StThemeClass *klass) * The lowest priority stylesheet, representing global default * styling; this is associated with the CSS "user agent" stylesheet. */ - g_object_class_install_property (object_class, - PROP_DEFAULT_STYLESHEET, - g_param_spec_object ("default-stylesheet", NULL, NULL, + props[PROP_DEFAULT_STYLESHEET] = g_param_spec_object ("default-stylesheet", NULL, NULL, G_TYPE_FILE, - ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + ST_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + + g_object_class_install_properties (object_class, N_PROPS, props); signals[STYLESHEETS_CHANGED] = g_signal_new ("custom-stylesheets-changed", -- 2.39.5